home *** CD-ROM | disk | FTP | other *** search
- package com.extensibility.xa;
-
- import com.extensibility.util.Debug;
- import com.extensibility.xml.BaseDeclaration;
- import java.awt.datatransfer.DataFlavor;
- import java.awt.datatransfer.Transferable;
- import java.util.Vector;
- import javax.swing.ListSelectionModel;
-
- class ClipData implements Transferable {
- Vector theData = new Vector();
- SchemaDoc doc;
- DataFlavor[] flavors;
-
- public ClipData(SchemaDoc var1, BaseDeclaration var2) {
- this.theData.addElement(var2);
- this.doc = var1;
- this.flavors = new DataFlavor[]{new DataFlavor(var2.getClass(), var2.getClassName())};
- }
-
- public ClipData(DeclTableModel var1, ListSelectionModel var2) {
- for(int var3 = var2.getMinSelectionIndex(); var3 <= var2.getMaxSelectionIndex(); ++var3) {
- if (var2.isSelectedIndex(var3)) {
- Object var4 = var1.getDeclaration(var3);
- if (var4 != null) {
- if (var4 instanceof AggregateAttributeDecl) {
- var4 = ((AggregateAttributeDecl)var4).copyOf();
- } else {
- try {
- var4 = (BaseDeclaration)((BaseDeclaration)var4).clone();
- } catch (Exception var6) {
- Debug.assert(var6);
- }
- }
-
- this.theData.addElement(var4);
- }
- }
- }
-
- this.doc = var1.getSchemaDoc();
- this.flavors = new DataFlavor[]{var1.getRowFlavor()};
- }
-
- public Object getTransferData(DataFlavor var1) {
- return this.theData;
- }
-
- public DataFlavor[] getTransferDataFlavors() {
- return this.flavors;
- }
-
- public boolean isDataFlavorSupported(DataFlavor var1) {
- for(int var2 = 0; var2 < this.theData.size(); ++var2) {
- if (var1.getRepresentationClass() == this.theData.elementAt(var2).getClass()) {
- return true;
- }
- }
-
- return false;
- }
-
- public SchemaDoc getSchemaDoc() {
- return this.doc;
- }
- }
-